package com.jivesoftware.os.jive.utils.id; import com.fasterxml.jackson.databind.ObjectMapper; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; public class TenantIdTest { @Test(dataProviderClass = TenantIdTestDataProvider.class, dataProvider = "createStandardIdData") public void testIdEquals(String id1, String id2, boolean expectedResult) throws Exception { TenantId t1 = new TenantId(id1); TenantId t2 = new TenantId(id2); assertEquals(expectedResult, t1.equals(t2)); if (expectedResult) { assertEquals(t1.hashCode(), t2.hashCode(), "hashcode should be equal too"); } assertEquals(id1, t1.toStringForm(), "should have the same tenantId"); assertEquals(id2, t2.toStringForm(), "should have the same tenantId"); } @Test(dataProviderClass = TenantIdTestDataProvider.class, dataProvider = "createStandardTenantIdData") public void testTenantIdEquals(TenantId t1, TenantId t2, boolean expectedResult) throws Exception { if (t1 != null) { assertEquals(t1.equals(t2), expectedResult); } else if (t2 != null) { assertEquals(t2.equals(t1), expectedResult); } } @Test public void testSerializeDeserialize() throws Exception { ObjectMapper objectMapper = new ObjectMapper(); TenantId tenantId = new TenantId("foobar"); String tenantIdJson = objectMapper.writeValueAsString(tenantId); TenantId tenantIdFromJson = objectMapper.readValue(tenantIdJson, TenantId.class); assertEquals(tenantIdFromJson, tenantId); } }